/*
 * Copyright 2017-8-30 13:56:25 The JA-SIG Collaborative. All rights reserved.
 * distributed with thi file and available online at
 */
package com.lap.scp.admin.dal;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.lap.scd.commons.page.Page;
import com.lap.scp.admin.domain.ResourcesDO;
import com.lap.scp.admin.query.ResourcesQueryDO;

/**
 * <pre>
 * // TODO 注释
 * </pre>
 * 
 * @author 系统自动生成 Exp
 * @Date 2017-8-30 13:56:25
 * @since 1.0
 */
@Mapper
public interface ResourcesDAO {
	/**
	 * 统计查询数据总数量
	 * 
	 * @param queryDO
	 * @return 数量
	 */
	int countPage(@Param("resourcesQueryDO") ResourcesQueryDO queryDO);

	/**
	 * 根据ID删除数据信息
	 * 
	 * @param resourcesId
	 * @return 改变数量
	 */
	int deleteById(int resourcesId);

	/**
	 * 新增
	 *
	 * @param resourcesDO
	 */
	void insertResources(ResourcesDO resourcesDO);

	/**
	 * 根据ID查询数据信息
	 *
	 * @param resourcesId
	 * @return ResourcesDO
	 */
	ResourcesDO queryById(int resourcesId);

	/**
	 * 分页查询数据信息
	 *
	 * @param page
	 * @param queryDO
	 * @return 数据集合
	 */
	List<ResourcesDO> queryPage(@Param("page") Page page, @Param("resourcesQueryDO") ResourcesQueryDO queryDO);

	/**
	 * 根据ID修改
	 *
	 * @param resourcesDO
	 * @return
	 */
	int updateResources(ResourcesDO resourcesDO);

	/**
	 * 根据用户ID查询关联该用户的关联角色关联的资源URL
	 * 
	 * @param userId
	 * @return
	 */
	List<String> queryByUserId(int userId);

	/**
	 * 查询所有的资源数据
	 * 
	 * @param queryDO
	 * @return
	 */
	List<ResourcesDO> queryList(ResourcesQueryDO queryDO);

	/**
	 * 根据父ID查询是否又子类
	 * 
	 * @param pid
	 * @return
	 */
	int countByPid(int pid);

	/**
	 * 查询所有的URL集合
	 * 
	 * @return
	 */
	List<String> queryUrlList();

}
